﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace sdk_cop
{
    class AggregatePaymentRequestV3: AbstractIcbcRequest<IcbcResponse>
    {
        /// <summary>
        /// 获取响应类
        /// </summary>
        /// <returns>返回AggregatePaymentRequestV3类对应的响应类类型</returns>
        public override Type getResponseClass()
        {
            return Type.GetType("sdk_cop.AggregatePaymentRequestV3");
        }
        /// <summary>
        /// AggregatePaymentRequestV3类的构造函数，设置请求URL
        /// </summary>
        public AggregatePaymentRequestV3()
        {

	    }
        /// <summary>
        /// 是否支持加密（目前sdk只支持对字段进行AES加解密）
        /// </summary>
        /// <returns>一般返回false</returns>
        public override Boolean isNeedEncrypt()
        {
            return true;
        }
        /// <summary>
        /// http发起请求方式（支持GET、POST两种方式）
        /// </summary>
        /// <returns>一般返回POST</returns>
        public override string getMethod()
        {
            return "POST";
        }
        /// <summary>
        /// 获取业务类类型
        /// </summary>
        /// <returns>返回request类内部定义的BizContent类的类型</returns>
	    public override Type getBizContentClass() {
            return Type.GetType("sdk_cop" + ".AggregatePaymentRequestV3+AggregatePaymentRequestV3Biz", true, true);
        }
	    /// <summary>
	    /// 内部业务类，封装需要发送给服务端的业务字段
	    /// </summary>
        [DataContract]
        public class AggregatePaymentRequestV3Biz : BizContent
        {
            [DataMember]
            private string mer_hint;
            [DataMember]
            private string pay_limit;
            [DataMember]
            private string install_times;
            [DataMember]
            private string return_url;
            [DataMember]
            private string tp_open_id;
            [DataMember]
            private string tp_app_id;
            [DataMember]
            private string channel_id;
            [DataMember]
            private string tran_type;
            [DataMember]
            private string interface_version;
            [DataMember]
            private string mer_id;
            [DataMember]
            private string out_trade_no;
            [DataMember]
            private string order_date;
            [DataMember]
            private string end_time;
            [DataMember]
            private string goods_body;
            [DataMember]
            private string goods_detail;
            [DataMember]
            private string attach;
            [DataMember]
            private string order_amount;
            [DataMember]
            private string spbill_create_ip;
            [DataMember]
            private string notify_url;
            [DataMember]
            private string notify_type;
            [DataMember]
            private string result_type;
            [DataMember]
            private string backup1;
            [DataMember]
            private string backup2;
            [DataMember]
            private string backup3;
            [DataMember]
            private string backup4;

            public string getMerId()
            {
                return this.mer_id;
            }

            public void setMerId(string mer_id)
            {
                this.mer_id = mer_id;
            }

            public string getOutTradeNo()
            {
                return this.out_trade_no;
            }

            public void setOutTradeNo(string out_trade_no)
            {
                this.out_trade_no = out_trade_no;
            }

            public string getAttach()
            {
                return this.attach;
            }

            public void setAttach(string attach)
            {
                this.attach = attach;
            }

            public void setOrderDate(string order_date)
            {
                this.order_date = order_date;
            }
            public string getOrderDate()
            {
                return order_date;
            }

            public void setEndTime(string end_time)
            {
                this.end_time = end_time;
            }
            public string getEndTime()
            {
                return end_time;
            }

            public void setSpbillCreateIp(string spbill_create_ip)
            {
                this.spbill_create_ip = spbill_create_ip;
            }
            public string getSpbillCreateIp()
            {
                return spbill_create_ip;
            }
            /*public void setTradeType(string tradeType)
            {
                this.tradeType = tradeType;
            }
            public string getTradeType()
            {
                return tradeType;
            }*/

            public void setResultType(string result_type)
            {
                this.result_type = result_type;
            }
            public string getResultType()
            {
                return result_type;
            }
            public void setNotifyType(string notify_type)
            {
                this.notify_type = notify_type;
            }
            public string getNotifyType()
            {
                return notify_type;
            }
            public void setBackup1(string backup1)
            {
                this.backup1 = backup1;
            }
            public string getBackup1()
            {
                return backup1;
            }
            public void setBackup2(string backup2)
            {
                this.backup2 = backup2;
            }
            public string getBackup2()
            {
                return backup2;
            }
            public void setInterfaceVersion(string interface_version)
            {
                this.interface_version = interface_version;
            }
            public string getInterfaceVersion()
            {
                return interface_version;
            }
            public void setBackup3(string backup3)
            {
                this.backup3 = backup3;
            }
            public string getBackup3()
            {
                return backup3;
            }
            public void setBackup4(string backup4)
            {
                this.backup4 = backup4;
            }
            public string getBackup4()
            {
                return backup4;
            }
            public void setNotifyUrl(string notify_url)
            {
                this.notify_url = notify_url;
            }
            public string getNotifyUrl()
            {
                return notify_url;
            }
            public void setTranType(string tran_type)
            {
                this.tran_type = tran_type;
            }
            public string getTranType()
            {
                return tran_type;
            }
            public void setChannelId(string channel_id)
            {
                this.channel_id = channel_id;
            }
            public string getChannelId()
            {
                return channel_id;
            }
            public void setGoodsBody(string goods_body)
            {
                this.goods_body = goods_body;
            }
            public string getGoodsBody()
            {
                return goods_body;
            }
            public void setGoodsDetail(string goods_detail)
            {
                this.goods_detail = goods_detail;
            }
            public string getGoodsDetail()
            {
                return goods_detail;
            }
            public void setMerHint(string mer_hint)
            {
                this.mer_hint = mer_hint;
            }
            public string getMerHint()
            {
                return mer_hint;
            }
            public void setInstallTimes(string install_times)
            {
                this.install_times = install_times;
            }
            public string getInstallTimes()
            {
                return install_times;
            }
            public void setPayLimit(string pay_limit)
            {
                this.pay_limit = pay_limit;
            }
            public string getPayLimit()
            {
                return pay_limit;
            }
            public void setOrderAmount(string order_amount)
            {
                this.order_amount = order_amount;
            }
            public string getOrderAmount()
            {
                return order_amount;
            }
            public void setReturnUrl(string return_url)
            {
                this.return_url = return_url;
            }
            public string getReturnUrl()
            {
                return return_url;
            }
            public void setTpOpenId(string tp_open_id)
            {
                this.tp_open_id = tp_open_id;
            }
            public string getTpOpenId()
            {
                return tp_open_id;
            }
            public void setTpAppId(string tp_app_id)
            {
                this.tp_app_id = tp_app_id;
            }
            public string getTpAppId()
            {
                return tp_app_id;
            }
        }		
	}
}
